The present invention relates generally to managing data stored in a storage system, and more particularly to relocating data in a computer system having a plurality of storage systems.
One conventional technique for relocation of data stored in a storage system such as a disk array system is described in JP-A-No. Hei 9-274544. The disk array system in this application refers to a system, in which a plurality of disk units are arranged in arrays, for accomplishing the reading/writing of data. The data is divided and stored among the individual disk units and read/written at high speed by operating the disk units in parallel. As described in D. A. Patterson, G. Gibson and R. H. Kats, xe2x80x9cA Case for Redundant Arrays of Inexpensive Disks (RAID),xe2x80x9d Proc. ACM SIGMOD, pp. 109-116, June 1988, different levels consisting of level 1 through level 5 are given, depending on the redundancy configuration of the disk array systems. In addition to these redundancy levels, a disk array system without redundancy may be referred to as level 0.
Since disk array systems of different levels differ in cost, performance and characteristics, arrays (each being a group of disk units) of a plurality of levels are often mixed in architecting a disk array system. An array of each level in such a case is referred to as a parity group. As the disk units also differ in cost with performance, capacity and other factors, a plurality of types of disk units, differing in performance and capacity, may also be used in architecting a disk array system with a view to achieving the optimal cost performance.
Furthermore, in such a disk array system, since data may be distributed among a plurality of disk units, each logical storage area to be accessed by a host computer connected to the disk array system is matched with a physical storage area of a disk unit (address conversion). In such a disk array system, according to JP-A-No. Hei 9-274544, for a logical storage area, data may be relocated from one physical storage area to another physical storage area without changing the logical storage area address. Further, the load state due to accessing by the host computer to the different logical storage areas are managed, and the particulars of a relocation are determined so that the data be appropriately arranged after the relocation.
There are also techniques for transferring data between a host computer and storage systems such as that disclosed in M. T. O""Keefe, xe2x80x9cShared File Systems and Fibre Channel,xe2x80x9d Proc. Sixth Goddard Conference on Mass Storage Systems and Technologies, pp. 1-16, March 1998. According to this technique, there is disclosed a SAN (Storage Area Network), i.e. a storage environment in which a plurality of host computers and a plurality of storage systems are connected by Fibre channels (FCs), in which high-speed interfaces, realize data sharing via the FCs. By transferring data via FCs in this way, loads on the host computers and the network can be reduced compared with usual transfers via a network.
A conventional technique for enabling a plurality of computers to share data in files held by storage systems connected to typical networks not using high-speed FCs, is an NFS (Network File System). When data is shared using an NFS, loads on the computer sharing data or on the network connecting the computers and storage systems are greater than in the aforementioned case of using FCs. However, since existing networks can be used, it has its own advantages in that the cost of new equipment can be smaller than where a FC network is to be newly laid and the management of file sharing and other factors can be easier.
As stated above, the technique described in JP-A-No. Hei 9-274544 makes possible relocation of data within a disk array system. However, it does not cover relocation of data between storage systems in computer system having a plurality of storage systems. In addition, since a disk array system is incapable of file recognition, the technique does not allow relocation of files.
On the other hand, a SAN (Storage Area Network) makes possible high-speed data transfers between storage systems using a FC switch. However, relocation of data by transferring data between storage systems by using a SAN entails the following problems.
In the prior art for a SAN, no consideration is given to the acquisition by the host computer, which is to control relocation of data, of necessary information for determining appropriate arrangement of data, such as the state of load on each storage area in each storage system due to accessing by the host computer. As a result neither the host computer nor its user can judge how data should be relocated to realize efficient arrangement of the data.
Furthermore, even if the user tried to relocate data in each storage system himself/herself, the burden on the user would be great because the user would have to check in detail and take charge of everything including the management of unused areas in the destination of data relocation.
Moreover, if data is transferred between storage systems, the data seen by an application, i.e., the destination address to be designated by the application to access the same data, will differ between before and after the relocation.
Also, data sharing on a typical network using an NFS involves the following problems.
In the prior art, when a host computer used for data sharing in an NFS network (hereinafter to be referred to as an xe2x80x9cNFS serverxe2x80x9d), manages a plurality of storage systems, the NFS server itself cannot physically relocate data between the plurality of storage systems. As a consequence, it is very difficult to accomplish, by using an NFS server, fine differentiation and management of the storage areas in the storage systems, such as altering the physical positions of shared data for each computer.
Thus there is a need for a host computer, including an NFS server, to acquire from the storage systems, for example disk arrays, necessary information for appropriate arrangement of data and thereby alleviate the burden on the user of managing the data on the storage systems. There is also a need for relocation of data between different storage systems to be transparent to an application, i.e., the data location seen by an application is the same before and after the relocation. Lastly, there is a need for the relocation of data as files.
The present invention provides techniques, including a method and system, for relocating data between storage systems. Examples of storage systems include a client""s PC hard disk, a server""s hard disks or databases, or a disk array. In one embodiment of the present invention a disk array acquires usage of a disk unit in response to read/write from a host. The host collects usage from a plurality of disk arrays, and determines the relocation destination LU for data stored in the LU to be relocated, and alters an LU logical position name table that determines matching between the logical position names of data, which are the data positions for an application, and LUs. It also carries out data relocation between different disk arrays by shifting data stored in the LU to be relocated to the relocation destination LU.
In a first embodiment of the present invention, a computer is provided with a requesting means for requesting at least one storage system connected to the computer to notify the usage of the physical storage system resources of each logical storage area of the storage system. Further, the storage system is provided with an acquisition means for acquiring usage of physical storage system resources of each storage area of the storage system, and a notifying unit for notifying the computer, at a request from the computer, the usage of the physical storage system resources of each logical storage area of the storage system acquired by the acquisition means.
The usage of the physical storage system resources of each storage area includes, for instance, the usage of the physical storage space of the storage area and the usage of the processing time of the storage system spent in the processing of access to the storage space.
In this embodiment, the computer can use the information on usage of the physical storage system resources of each logical storage area of the storage system acquired from the storage system for, e.g., determining the particulars of appropriate arrangement of data from the viewpoint of load diffusion of storage system resources. Therefore, by using this information, the data can be appropriately arranged by, for instance, relocating the data among different storage systems.
In a second embodiment of the invention, a computer is provided with a control means for controlling physical relocation of data among the logical storage areas of the at least one storage system connected to the computer; a matching table for defining matching between a logical position indicating the logical position of data perceived by an application operating on the computer and a logical storage area of the storage system storing the data; and an updating unit for updating the matching table so that the logical storage area of the storage system, which is the relocation destination of data relocated by the control means, match the logical position of the data.
In this embodiment, even if, between before and after the relocation of data, the storage system or storage area storing the data varies, the logical position of the data does not vary. Thus, data can be relocated without allowing the logical position to vary between before and after the relocation of the data for an application accessing data according to its logical position.
In a third embodiment of the invention, a computer is provided with a managing means for managing a matching between a file and a logical storage area of the storage system connected to the computer in which the file is stored; and an extracting unit for extracting the usage of the physical storage system resources of the logical storage area in which each file is stored.
In this third embodiment, it is possible to obtain on the computer side the usage of the physical storage system resources of the storage area, in which a file is stored, and to determine the particulars of the relocation of the file. This enables files to be efficiently arranged.
These and other embodiments of the present invention are described in more detail in conjunction with the text below and attached figures.